﻿using Itech_Run.Application.Contracts.Shared.Dto;
using System.ComponentModel.DataAnnotations;

namespace Itech_Run.Sys.Application.Contracts.Dto
{
    public class SysModuleUpdateDto : CustomUpdateDto
    {
        [Required]
        [StringLength(50)]
        public string ApplicationCode { get; set; }

        [Required]
        [StringLength(100)]
        public string Name { get; set; }

        public int Level { get; set; }

        [StringLength(36)]
        public string? ParentId { get; set; }

        [StringLength(255)]
        public string? Url { get; set; }

        public bool? IsShowUI { get; set; }

        [StringLength(100)]
        public string? IconName { get; set; }

        public int Sort { get; set; }

        public bool IsActive { get; set; }

        [StringLength(100)]
        public string? AssemblyName { get; set; }

        [StringLength(100)]
        public string? ApiController { get; set; }

        public List<string> ButtonList { get; set; } = new List<string>();
    }
}
